home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / C64-128Toolkit / MSD-DU15.ARC / EXCHANGE LIST8 (.txt) < prev    next >
Encoding:
Commodore BASIC  |  2019-04-13  |  2.8 KB  |  102 lines

  1. 10 S$="  ":PRINT CHR$(142):PRINT "[147] SEQUENTIAL FILE LISTER"
  2. 20 V$="D"
  3. 30 PRINT " DISK UNIT NR (8-15) ? 8 [157][157][157][157]";
  4. 40 INPUT U: IF U<8 OR U>15 THEN PRINT "[145][145][145]": GOTO 30
  5. 50 PRINT " DISK DRIVE NR (0/1) ? 0[157][157][157]";
  6. 60 INPUT N:N1$=RIGHT$(STR$(N),1):IF N<0 OR N>1 THEN PRINT "[145][145][145]": GOTO 50
  7. 70 PRINT " TO SCREEN OR PRINTER (S/P) ? S[157][157][157]";
  8. 80 INPUT P$: IF P$="S" THEN D=3: L=39:P=19:GOTO 230
  9. 90 IF P$<>"P"THEN PRINT "[145][145][145]": GOTO 80
  10. 100 PRINT " PRINTER DEVICE NR (2/4-6) ? 4[157][157][157]";
  11. 110 INPUT D: IF D=2 THEN 230
  12. 120 PRINT" PRINTER SECONDARY ADDRESS ? 27[157][157][157][157]";:INPUT SA
  13. 130 IF (SA)<0 OR (SA)>30 THEN 120
  14. 140 IF D<4 OR D>6 THEN PRINT "[145][145][145]": GOTO 100
  15. 150 PRINT" ENTER PRINTER LINE LENGTH ? 80[157][157][157][157]";:INPUT L:L=L-5
  16. 160 IF L<30 OR L>160 THEN 150
  17. 170 PRINT" ENTER PAGE LENGTH ? 66[157][157][157][157]";:INPUT P
  18. 180 IF P<40 OR P>100 THEN P=66
  19. 190 P=P-10
  20. 200 PRINT" ENTER LEFT MARGIN--SPACES? 8[157][157][157]";:INPUT M
  21. 210 IF M<1 OR M>15 THEN 200
  22. 220 L=L-M
  23. 230 IF V$="T" THEN PRINT "[147] FILE-NAME TO LIST (OR END)"
  24. 240 PRINT " PUT TARGET DISK IN UNIT";U;"DRIVE";N
  25. 250 A$="":PRINT " PRESS ANY KEY TO CONTINUE"
  26. 260 GET A$: IF A$="" THEN 260
  27. 270 GOSUB 600:IF F$=CHR$(21) THEN 240
  28. 280 F$=N1$+":"+F$: A=2
  29. 290 IF P$="P" THEN PRINT " READY PRINTER AND ALIGN PAPER":GOTO 310
  30. 300 GOTO 330
  31. 310 PRINT " PRESS ANY KEY TO CONTINUE"
  32. 320 GET A$: IF A$="" THEN 320
  33. 330 OPEN15,U,15,"I"+N1$
  34. 340 PRINT CHR$(14):OPEN 2,U,A,F$: OPEN 4,D,SA: C$=CHR$(13)
  35. 350 ZZ=340:GOSUB 560:GOSUB 910
  36. 360 PRINT#4,"LISTING OF:  ";F$:W$="":X=0:Y=0:Z=0:V=0
  37. 370 GOSUB 910
  38. 380 GET#2,A$:E=ST:IF A$=C$ AND (X+Y<=L) THEN X=0:V=1:GOTO 440
  39. 390 IF A$=C$ THEN V=1:GOTO 430
  40. 400 W$=W$+A$:Y=Y+1:IF Y>20 THEN 420
  41. 410 IF A$<>" " AND E=0 THEN 380
  42. 420 IF X<20 THEN 440
  43. 430 IF (X+Y)>L THEN PRINT#4:X=0:Z=Z+1:GOSUB910
  44. 440 PRINT#4, W$;:X=X+Y:Y=0:W$=""
  45. 450 IF V=1 THEN V=0:PRINT#4:Z=Z+1:GOSUB910
  46. 460 IF E=0 THEN 380
  47. 470 IF E<>64 THEN PRINT#4," READ ERROR"
  48. 480 IF P$="S" THEN GOSUB 530
  49. 490 PRINT#4,C$;" END OF FILE:  ";F$: CLOSE 4: CLOSE 2:CLOSE15
  50. 500 PRINT CHR$(142);" LIST ANOTHER FILE (Y/N) ? Y[157][157][157]";
  51. 510 INPUT A$: IF A$="Y" THEN 240
  52. 520 GOTO 590
  53. 530 PRINT#4,C$"      [208][210][197][211][211][160][193][206][217][160][203][197][217][160][212][207][160][195][207][206][212][201][206][213][197][146]"
  54. 540 GET K$: IF K$="" THEN 540
  55. 550 RETURN
  56. 560 INPUT#15,E1$,E2$,E3$,E4$
  57. 570 IF VAL(E1$)=0 THEN RETURN
  58. 580 PRINT "DISK ERROR  ";ZZ;S$;E1$;S$;E2$;S$;E3$;S$;E4$
  59. 590 CLOSE2:CLOSE4:CLOSE15:END
  60. 600 OPEN15,U,15,"I"+N1$:OPEN2,U,2,"#":ZZ=600:GOSUB 560
  61. 610 T=18:S=1:V3=0
  62. 620 PRINT#15,"U1:2,"N1$;T;S:V2=0:ZZ=620:GOSUB 560
  63. 630 GET#2,T1$,S1$
  64. 640 IF T1$="" THEN T1$=CHR$(0)
  65. 650 IF S1$="" THEN S1$=CHR$(0)
  66. 660 T=ASC(T1$):S=ASC(S1$)
  67. 670 V2=V2+1
  68. 680 GET#2,A$
  69. 690 IF A$=CHR$(129) THEN 710
  70. 700 GOTO 800
  71. 710 F$="":V1=0:FOR J=1 TO 18
  72. 720 GET#2, A$:IF J<3 THEN 760
  73. 730 IF V1=1 THEN 760
  74. 740 IF A$=CHR$(160) THEN V1=1:GOTO 760
  75. 750 F$=F$+A$
  76. 760 NEXT
  77. 770 PRINT"[147]";F$
  78. 780 PRINT"READ THIS FILE--Y OR N? N[157][157][157]";
  79. 790 INPUT R$:IF R$="Y" THEN CLOSE2:CLOSE15:RETURN
  80. 800 BP=V2*32+2
  81. 810 IF V2<8 THEN 840
  82. 820 IF T=0 THEN 860
  83. 830 GOTO 620
  84. 840 PRINT#15,"B-P";2;BP:ZZ=840:GOSUB 560
  85. 850 GOTO 670
  86. 860 PRINT"END OF DIRECTORY"
  87. 870 CLOSE2:CLOSE15
  88. 880 PRINT"DO ANOTHER DIRECTORY--Y OR N ? N[157][157][157]";:INPUT A$
  89. 890 IF A$="Y" THEN F$=CHR$(21):RETURN
  90. 900 END
  91. 910 IF P$="P" THEN FOR M1=1 TO M:PRINT#4," ";:NEXT
  92. 920 IF Z<P THEN RETURN
  93. 930 Z=0
  94. 940 IF P$="S" THEN GOSUB 530:RETURN
  95. 950 FOR N=1 TO 10:PRINT#4:NEXT
  96. 960 GOSUB910:RETURN
  97. 970 OPEN15,8,15,"S0:EXCHANGE LISTER":PRINT#15,"S0:EX LISTER.C"
  98. 975 PRINT#15,"S0:EXCHANGE LISTER8":PRINT#15,"S0:EXCHANGE LISTER8":CLOSE15
  99. 980 SAVE"@0:EXCHANGE LIST8",8
  100. 990 VERIFY"EXCHANGE LIST8",8
  101. 1000 END
  102.